package com.xt.LibaryDeskManager.dao;

import com.xt.LibaryDeskManager.dto.SelectSeatDto;
import com.xt.LibaryDeskManager.vo.SelectSeatVo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 选座信息持久层
 */
@Repository
public interface SelectSeatMapper {


    /**
     * 查找所有预约信息
     * @return
     * @throws Exception
     */
    List<SelectSeatDto> getAllSelectSeat(SelectSeatVo selectSeatVo)throws  Exception;
    /**
     * 根据座位号查找座位信息
     * @param seatNo
     * @return
     * @throws Exception
     */
    SelectSeatDto getSelectSeatByseatNo(String seatNo)throws Exception;

    /**
     * 根据时间查找选座信息
     * @param begin1
     * @return
     * @throws Exception
     */
    List<SelectSeatDto> selectByTime(String begin1,String seatNo)throws Exception;

    /**
     * 添加预约信息
     * @param selectSeatVo
     * @return
     * @throws Exception
     */
    int addSelectSeat(SelectSeatVo selectSeatVo) throws Exception;

    /**
     * 查询指定学生指定时间段预约信息
     * @param studentNo
     * @param begin2
     * @return
     * @throws Exception
     */
   List<SelectSeatDto>  selectByTimeStudentNo(String studentNo,String begin1, Integer begin2)throws Exception;


    /**
     * 查询指定学生的选座记录
     * @param studentNo
     * @return
     * @throws Exception
     */
    List<SelectSeatDto> selectSeatByStudentNo( String studentNo)throws  Exception;

    /**
     * 更新选座状态
     * @param selectId
     * @return
     * @throws Exception
     */
    int updateSelectSeat(String selectId,int i)throws  Exception;

    /**
     * 获取所有预约记录数
     * @return
     * @throws Exception
     */
    int getCount()throws  Exception;


    /**
     * 更新预约状态
     * @param begin1 指定日期
     * @param begin2 指定时间段
     * @param statue1 需更改的状态
     * @param statue2 更改后的状态
     */
    int updateSelectSeat1(String begin1, Integer begin2, Integer statue1, Integer statue2)throws  Exception;

}
